package com.fanjia.java.basic;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * Created by FanJia on 2020/9/25 14:06
 */

/**
 * 这类在运行时会被
 */
public class HelloWorld {
    /**
     * 请问main方法中的参数用途是什么，我们可以给它传值吗？假如idea 在哪里进行传值？
     * 程序在运行过程，我想了解gc 情况？有没有触发gc？假如触发了gc，对那些内存区域进行了回收?
     * @param args
     */
    public static void main(String[] args) {
        System.out.println(Arrays.toString(args));
        System.out.println("hello,FANJIA");
        //手动GC
        System.gc();


        //自动GC
        List<byte[]> list = new ArrayList<>();
        for(int i=0;i<10000;i++){
            list.add(new byte[1024*1024]);
            //byte[] array= new byte[1024*1024];//只启用了“小GC”，没有启用大“大GC”
            //内存中的对象何时为会被认为是垃圾对象？对象不可达时(JVM访问不到了)
        }

        //思考：系统在启动GC时要回收内容中的垃圾对象，可能会导致程序短暂的暂停。


    }
}
